{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style='color:purple' align='center'>Random Forest Python Tutorial</h3>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"forest.jpg\" width=\"500\" height=\"600\" />"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Digits dataset from sklearn**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.datasets import load_digits\n",
    "digits = load_digits()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['DESCR', 'data', 'images', 'target', 'target_names']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dir(digits)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406e6b9a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD9CAYAAACV6WqFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADTxJREFUeJzt3V+MnOV1x/HvkpogEFFsNQmJ+Ne12lMKFkhrKTRuKRdr\nkVRN+o/1RRVUgqoFNZHIBcUGhYtKRF1U0ps0KGsCcZomqmwCEUFKwy4FRbhKIzutai44KHaqFiVR\nK9uUliRNge3FDpXV4p2ZZ+ed8fp8P9JKHmvOnEe789v3ndn3mTO1srKCpLPbOZNegKTuGXSpAIMu\nFWDQpQIMulSAQZcK+JlJNo+Ic4AHgKuB/wL+IDO/O4a+7wXuy8zrO+6zCXgYuBx4K3BvZj7eYb+3\nAA8CAawAt2Xmc131O6XvO4HDwM7MfL7jXt8BXu7d/F5mfqTjfncBHwLOBR7IzIc67HUzcHPv5nnA\nNcBFmfnSeh97okEHfgs4LzN/OSKuBT4F/GaXDSPiTuAm4JUu+/R8GDiemTdFxBbgH4DOgg58ECAz\nd0TE9cAn6f77uQlYBH7cZZ9er/OAqa5/QZ/S73rgfcAO4Hzgji77ZeY+YF+v92eAh0cRcpj8qfuv\nAH8NkJnfAraPoedR4HfG0AfgAHBP799TwKtdNsvMrwLzvZuXASN5kvRxP/BZ4Ptj6HU1cH5EPBkR\nf9M7OHTpBuAI8BjwNeCJjvsBEBHbgSszc++oHnPSQX8b8O+n3H4tIjo9y8jMrwD/3WWPU3r9Z2b+\nR0RcCDwCfGIMPV+NiC8Anwa+1GWv3qnmv2XmN7rsc4ofsfqL5QbgNuBLHT9ffpbVg8/cKf2mOuz3\nhruBPx7lA0466C8DF55y+5zM7PSoN24RcQnwNPDFzPzyOHpm5u8DvwA8GBEXdNjqFmBnRDzD6uvJ\nv4iIizrs9wLwl5m5kpkvAMeBd3fY7zjwjcz8aWYm8BPgHR32IyLeDkRmPj3Kx530a/SDrL6u3N87\nDTsy4fWMVES8C3gS+FhmPjWGfjcBF2fmn7B69Hu999WJzLzulN7PsPrm3w+76sfqL5ZtwB9GxHtY\nPSP8QYf9ngVuj4g/Y/UXygWshr9L1wEjf65MOuiPsXpE+FtWX8N2+g7qBNwNbAbuiYg3Xqt/IDO7\neuPqUeDzEfFNYBPw8Q57TcJDwL6IeJbVvyrc0uUZYGY+ERHXAd9m9ez3o5n5Wlf9egI4NuoHnXL3\nmnT2m/RrdEljYNClAgy6VIBBlwow6FIBBl0qwKBLBRh0qYCRXxk3NTXVdAXOkSNH2LZt26iXM/J+\nc3NzTf3uv/9+7rhj+F2OCwsLQ9dcfPHFvPjii0PXASwvLw9dc+ONN/LII4809duzZ8/QNQcPHmTH\njh1N/U6ePDl0zUZ5bgKsrKy86aabM+aIftVVV53V/S699NKx9Tr33HPH1gtgy5YtY+13xRVXjLXf\n2fDcPGOCLqk7Bl0qwKBLBRh0qQCDLhVg0KUCDLpUgEGXCjDoUgF9L4Gd1NgkSaMzyBH9f8cmAXtY\nHZskaQMZJOiTGJskaYT6ftxzRHwO+Epmfr13+5+B6dN9nvZzzz23Mu5NAJJgamrqtLvXBtmmOtTY\npHVsr2NqahxjrdbXr3Wb6v79+9m1a9fQdS3bVKenpzl2rG0GQMs21fn5efbubZsH2LJN9cSJE807\n5lq2qW6U5+ZaBjl1Pwj8OsDZODZJqmCQI/rZPjZJOuv1DXpmvs7qyFhJG5QXzEgFGHSpAIMuFWDQ\npQIMulSAQZcKMOhSAQZdKmDkI5nOdi3Xnq+ndnp6uqlXa93mzZvHWnfixImx1rXsN4D2PQ4HDhxo\nqhs1j+hSAQZdKsCgSwUYdKkAgy4VYNClAgy6VIBBlwow6FIBBl0qwKBLBQwU9Ih4b0Q80/FaJHVk\nkCGLdwI3Aa90vxxJXRhkJNPvAv8IfDEzr+33gI5kkiZjrZFMfYMOEBGXA381SNCnpqb6P+Cb2Chj\nb44ePdrUr3VMUut201Yt2yrn5uaat2O2bv9s1bJNtXWcFrR9P9eThdMF3TfjpAIMulSAQZcKGOij\npDLzn4C+r88lnZk8oksFGHSpAIMuFWDQpQIMulSAQZcKMOhSAQZdKmDDz16bmZkZa+16Npm01G7d\nunXomqNHjzbVAU0bb1ZWVpo3fSwtLQ1dMzs7y/LyclO/1udLa52z1ySNjUGXCjDoUgEGXSrAoEsF\nGHSpAIMuFWDQpQIMulSAQZcKWPMS2IjYBDwMXA68Fbg3Mx8fw7okjVC/I/qHgeOZ+avA+4E/735J\nkkat36aWA8AjvX9PAa92uxxJXRh0JNOFwOPAg5n55bXu6+w1aTLWNXstIi4BHgMeyMyHB2g21tlr\nrdsHDx06xPbt25vqxmmjbFNtnRU27m2qhw8fHrpm9+7d3HfffU399uzZM3RNF7PX+r0Z9y7gSeBj\nmflUU2dJE9fvNfrdwGbgnoi4p/d/H8jMH3e7LEmjtGbQM/N24PYxrUVSR7xgRirAoEsFGHSpAIMu\nFWDQpQIMulSAQZcKMOhSAQZdKmDDz17bvHnzWGtbNkXA6uabltqWTSbrqRu3lu/J7Oxs88+hKo/o\nUgEGXSrAoEsFGHSpAIMuFWDQpQIMulSAQZcKMOhSAQZdKqDvJbAR8RbgQSCAFeC2zHyu64VJGp1B\njugfBMjMHcAngE92uiJJI9c36Jn5VWC+d/My4KVOVyRp5AaavQYQEV8Afhu4MTOfPN39nL0mTca6\nZq+dKiIuAv4O+KXMfOU0zcY6e212dralHUtLS+zcuXPouoWFhaZ+rdtUW+bDrWd2V4v19Gv5fq5n\nFlqLs2H2Wt9T94i4KSLu6t38EfB670vSBjHIB088Cnw+Ir4JbAI+7uw1aWPpG/TeKfquMaxFUke8\nYEYqwKBLBRh0qQCDLhVg0KUCDLpUgEGXCjDoUgEGXSrA2WtDWl5ebuo1MzPTXHs2a/35tdadPHmy\nqW6j84guFWDQpQIMulSAQZcKMOhSAQZdKsCgSwUYdKkAgy4VYNClAga6BDYi3gkcBnZm5vPdLknS\nqA3yue6bgEXAj3iWNqhBTt3vBz4LfL/jtUjqyJojmSLiZuDizLw3Ip5hdWTymqfuzl6TJqN59lpv\nOstK7+sa4AXgQ5n5wzWajXX22tzcXEs79u/fz65dw8+lmJmZaerXOr9r3LO7Wqyn3+Li4tA18/Pz\n7N27t6lfyzbVs2H22ppvxmXmdW/8+5Qj+mlDLunM5J/XpAIG/oSZzLy+w3VI6pBHdKkAgy4VYNCl\nAgy6VIBBlwow6FIBBl0qwKBLBRh0qYANP3ttPbO0WmpbN7Wst3Zcxj0LrfV70lp34MCBprqNPrPN\nI7pUgEGXCjDoUgEGXSrAoEsFGHSpAIMuFWDQpQIMulSAQZcKGHT22neAl3s3v5eZH+luSZJGrW/Q\nI+I8YMpPgZU2rkGO6FcD50fEk737352Z3+p2WZJGac2RTAARsQ24Fvgc8PPA14HIzFff7P7OXpMm\nY63Za4Mc0V8AvpuZK8ALEXEceDfwL292523btjUtsnXe1OzsbFO/paUldu7cOXTd7t27m/rNzs6y\nvLw8dF3LGtczu6tlu+mJEyfYsmVLU7+lpaWha2ZmZjh8+HBTv5ZtqgsLC00z1ICmmW1dzM4b5F33\nW4BPAUTEe4C3AT8Y6SokdWqQI/pDwL6IeJbVqaq3nO60XdKZqW/QM/OnwO+NYS2SOuIFM1IBBl0q\nwKBLBRh0qQCDLhVg0KUCDLpUgEGXCjDoUgEbfvbasWPHxlo77tlrc3NzTb3GXbe4uNhUN24tm0wW\nFhaa6s4kHtGlAgy6VIBBlwow6FIBBl0qwKBLBRh0qQCDLhVg0KUCDLpUwKCz1+4CPgScCzyQmQ91\nuipJI9X3iB4R1wPvA3YAvwZc0vGaJI3YIEf0G4AjwGOsDm/4o05XJGnkBpm99iBwGfAbwM8BjwO/\n2BvR9P84e02ajPXOXjsOPN8b5JAR8RPgHcC/vtmdxz17bXp6uqnf0aNH2bp169B1hw4dauq3efNm\nTp48OXTdrbfeOnTN/v372bVr19B10LZNdW5urmmmGbT9/NYze2379u1D13QxC23c/QZ51/1Z4P0R\nMdWbvXYBq+GXtEH0DXpmPgH8PfBt4GvARzPzta4XJml0BvrzWmbe2fVCJHXHC2akAgy6VIBBlwow\n6FIBBl0qwKBLBRh0qQCDLhVg0KUCnL02pD179jT1WlxcbKpdWFho6tda17pZpFXrJpOWuso8oksF\nGHSpAIMuFWDQpQIMulSAQZcKMOhSAQZdKsCgSwUYdKmAvpfARsTNwM29m+cB1wAXZeZL3S1L0ij1\nDXpm7gP2AUTEZ4CHDbm0sQx86h4R24ErM3Nvh+uR1IG+s9feEBGPAp/OzKfXup+z16TJWGv22kBB\nj4i3Awcz88oBmg32m+P/2Cjzrebn55v6LS4uNs1R271799A109PTzdt3W7aprmf2WsuMuI3yXJlE\nv9MFfdBT9+uAp5o6S5q4QYMeQPsnPEiaqEFnr/1p1wuR1B0vmJEKMOhSAQZdKsCgSwUYdKkAgy4V\nYNClAgy6VIBBlwoYePeapI3LI7pUgEGXCjDoUgEGXSrAoEsFGHSpgP8BksERvwaDjaQAAAAASUVO\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406e6b9e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406e668d30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406e750978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD9CAYAAACV6WqFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADM1JREFUeJzt3V+MnOV1x/HvkpogEFFsNYkTGUGN2lMKFkhGCo1byoVX\nJFVD0z/2RRWrDqrWqIkEFy1rULioRNS1mlRIaVAMgThNE1WQQESQ0mBTUISrNIK0qn3BsWKnalES\ntbJNaUnSFNhe7Li1Wu/OzLPzznj2fD/SSjvWPHMeree37zuz75kzs7i4iKS17YJJb0BS9wy6VIBB\nlwow6FIBBl0qwKBLBfzUJItHxAXA/cC1wH8Cv5eZ3xlD3XcD+zLzpo7rrAMeBq4A3gzcm5lPdFjv\nTcCDQACLwG2ZebSremfVfTvwAjCbmS92XOvbwCu9m9/NzA91XO8u4BbgQuD+zHyow1q7gd29mxcB\n1wEbM/Pl1T72RIMOfAC4KDN/MSJuAD4B/HqXBSPiTmAX8GqXdXo+CJzMzF0RsQH4e6CzoAPvB8jM\nbRFxE/Axuv95rgP2Az/qsk6v1kXATNe/oM+qdxPwHmAbcDHwB13Wy8wDwIFe7U8BD48i5DD5U/df\nAv4KIDO/CVw/hprHgd8cQx2AR4F7et/PAK91WSwzvwLM9W5eDozkSdLHx4FPA98bQ61rgYsj4qmI\n+OvewaFLNwNHgMeBrwJPdlwPgIi4Hrg6Mx8Y1WNOOuhvAf7trNuvR0SnZxmZ+WXgv7qscVat/8jM\nf4+IS4EvAR8dQ83XIuJzwCeBL3RZq3eq+a+Z+fUu65zlhyz9YrkZuA34QsfPl59m6eCz46x6Mx3W\nO+Nu4I9G+YCTDvorwKVn3b4gMzs96o1bRFwGPAN8PjO/OI6amfm7wM8BD0bEJR2WuhWYjYhnWXo9\n+ecRsbHDeseAv8jMxcw8BpwE3tlhvZPA1zPzJ5mZwI+Bt3VYj4h4KxCZ+cwoH3fSr9EPs/S68pHe\nadiRCe9npCLiHcBTwEcy8+kx1NsFbMrMP2bp6PdG76sTmXnjWbWfZenNvx90VY+lXyxbgN+PiHex\ndEb4/Q7rPQfcHhF/ytIvlEtYCn+XbgRG/lyZdNAfZ+mI8DcsvYbt9B3UCbgbWA/cExFnXqu/LzO7\neuPqMeCzEfENYB1wR4e1JuEh4EBEPMfSXxVu7fIMMDOfjIgbgW+xdPb74cx8vat6PQGcGPWDzti9\nJq19k36NLmkMDLpUgEGXCjDoUgEGXSrAoEsFGHSpAIMuFTDyK+NmZmaarsA5cuQIW7ZsGfV2Rl5v\nfn6+qd4dd9zBfffdN/S6hYWFpnqtTpwY/qKsTZs28dJLLzXVu/764RsWDx8+zLZt25rqnT59eug1\n0/LcBFhcXDxn0815c0S/5ppr1nS9jRu77PWYrAsvvHCs9a666qqx1lsLz83zJuiSumPQpQIMulSA\nQZcKMOhSAQZdKsCgSwUYdKkAgy4V0PcS2EmNTZI0OoMc0f9nbBKwl6WxSZKmyCBBn8TYJEkj1Pfj\nniPiM8CXM/Nrvdv/BGxe7vO0jx49ujjuJgBJMDMzs2z32iBtqkONTVpFex0zM+MYa7W6eq1tqgsL\nC+zdu7dp3Ti1tKlu3ry5aR20tameOnWKDRs2NNVraVOdlufmSgY5dT8M/CrAWhybJFUwyBF9rY9N\nkta8vkHPzDdYGhkraUp5wYxUgEGXCjDoUgEGXSrAoEsFGHSpAIMuFWDQpQJGPpJp3FZzLXjL2h07\ndjTXm5ubG3rNnj17hl6zf//+pnVn1rbYvHlz07qtW7eOdd2hQ4ea1k07j+hSAQZdKsCgSwUYdKkA\ngy4VYNClAgy6VIBBlwow6FIBBl0qwKBLBQwU9Ih4d0Q82/FeJHVkkCGLdwK7gFe7346kLgwykum3\ngH8APp+ZN/R7QEcySZOx0kimvkEHiIgrgL8cJOgzMzP9H/AcWsfQtLapzs/Ps2/fvqHXtbapto4t\natnjJNpUW83Ozg695uDBg03roK1NdZpGMi0XdN+Mkwow6FIBBl0qYKCPksrMfwT6vj6XdH7yiC4V\nYNClAgy6VIBBlwow6FIBBl0qwKBLBRh0qYCBmlqGesAxN7W0zvw6fvw4V1555dDrTp8+3VTv1KlT\nbNiwYeh1zz///NBrWhtoWq2mXsv/wTQ1mYy7nk0tUmEGXSrAoEsFGHSpAIMuFWDQpQIMulSAQZcK\nMOhSAQZdKmDFz4yLiHXAw8AVwJuBezPziTHsS9II9TuifxA4mZm/DLwX+LPutyRp1Pp9CuyjwJd6\n388Ar3W7HUldGHQk06XAE8CDmfnFle7r7DVpMlY1ey0iLgMeB+7PzIcHKGab6jnYpnputqmOtt5y\nQe/3Ztw7gKeAj2Tm002VJU1cv9fodwPrgXsi4p7ev70vM3/U7bYkjdKKQc/M24Hbx7QXSR3xghmp\nAIMuFWDQpQIMulSAQZcKMOhSAQZdKsCgSwUYdKmAfpfAnvdW07zRsra1iQZg/fr1Y6vXuu7QoUNN\ntVr/H1p+JqtZ19qUNO08oksFGHSpAIMuFWDQpQIMulSAQZcKMOhSAQZdKsCgSwUYdKmAvpfARsSb\ngAeBABaB2zLzaNcbkzQ6gxzR3w+QmduAjwIf63RHkkaub9Az8yvAXO/m5cDLne5I0sgNNHsNICI+\nB/wG8NuZ+dRy93P2mjQZq5q9draI2Aj8LfALmfnqMsXGOnut1bTMejt+/HhTvVYtbarbt29vWgew\nc+fOode0zrGDtjbVaXlu9taec2HfU/eI2BURd/Vu/hB4o/claUoM8sETjwGfjYhvAOuAO5y9Jk2X\nvkHvnaIPf34l6bzhBTNSAQZdKsCgSwUYdKkAgy4VYNClAgy6VIBBlwow6FIBUz97bdzGPeutpXlj\nNU0fBw8ebFrXOguttV7rutnZ2aZ10z7rzSO6VIBBlwow6FIBBl0qwKBLBRh0qQCDLhVg0KUCDLpU\ngEGXChjoEtiIeDvwAjCbmS92uyVJozbI57qvA/YDfsSzNKUGOXX/OPBp4Hsd70VSR1YcyRQRu4FN\nmXlvRDzL0sjkFU/dnb0mTUbz7LXedJbF3td1wDHglsz8wQrF1vTstXHXa2mPHHeb6tatW3nhhRea\n6rVYTb2WNtVpmvW2XNBXfDMuM2888/1ZR/RlQy7p/OSf16QCBv6Emcy8qcN9SOqQR3SpAIMuFWDQ\npQIMulSAQZcKMOhSAQZdKsCgSwUYdKmAFZtamh7QppaJ11tNrXE30ezfv3/oNTt27ODRRx9tqtcy\n/25+fp59+/Y11du7d+/Qa7poavGILhVg0KUCDLpUgEGXCjDoUgEGXSrAoEsFGHSpAIMuFWDQpQIG\nnb32beCV3s3vZuaHutuSpFHrG/SIuAiY8VNgpek1yBH9WuDiiHiqd/+7M/Ob3W5L0ij17V6LiC3A\nDcBngJ8FvgZEZr52rvs7e02ajJVmrw1yRD8GfCczF4FjEXESeCfwz+e685YtW5o2uZbbRsddzzbV\n5a31NtXlDPKu+63AJwAi4l3AW4Dvj3QXkjo1yBH9IeBARDzH0lTVW5c7bZd0fuob9Mz8CfA7Y9iL\npI54wYxUgEGXCjDoUgEGXSrAoEsFGHSpAIMuFWDQpQIMulTAQB88of+1sLAw1rWHDh1qqrV9+/am\ndS1NLaupN+51rc0wrT+X84VHdKkAgy4VYNClAgy6VIBBlwow6FIBBl0qwKBLBRh0qQCDLhUw6Oy1\nu4BbgAuB+zPzoU53JWmk+h7RI+Im4D3ANuBXgMs63pOkERvkiH4zcAR4nKXhDX/Y6Y4kjdwgs9ce\nBC4Hfg34GeAJ4Od7I5r+H2evSZOx2tlrJ4EXe4McMiJ+DLwN+Jdz3Xmtz15rbVNtnd/V0qZ68OBB\nZmdnh14Hbe2YjzzyCDt37myq1zJ7bf369Zw+fbqpXkub6tzcHA888EBTvT179gy9ZlKz154D3hsR\nM73Za5ewFH5JU6Jv0DPzSeDvgG8BXwU+nJmvd70xSaMz0J/XMvPOrjciqTteMCMVYNClAgy6VIBB\nlwow6FIBBl0qwKBLBRh0qQCDLhXg7LUhtTZTtK5tafpYzbpWrc0+rU0mrTPUWppM5ubmmtadTzyi\nSwUYdKkAgy4VYNClAgy6VIBBlwow6FIBBl0qwKBLBRh0qYC+l8BGxG5gd+/mRcB1wMbMfLm7bUka\npb5Bz8wDwAGAiPgU8LAhl6bLwKfuEXE9cHVmto2skDQxfWevnRERjwGfzMxnVrqfs9ekyVhp9tpA\nQY+ItwKHM/PqAYoN9pvj/5iW2Wvz8/NN9RYWFti7d+/Q6+bm5oZes3nzZk6cODH0ularqdcyW24t\nzELrqt5yQR/01P1G4OmmypImbtCgBzC+Q4SkkRp09tqfdL0RSd3xghmpAIMuFWDQpQIMulSAQZcK\nMOhSAQZdKsCgSwUYdKmAgbvXJE0vj+hSAQZdKsCgSwUYdKkAgy4VYNClAv4b3gE10LuC2RwAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406e803f98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.gray() \n",
    "for i in range(4):\n",
    "    plt.matshow(digits.images[i]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>54</th>\n",
       "      <th>55</th>\n",
       "      <th>56</th>\n",
       "      <th>57</th>\n",
       "      <th>58</th>\n",
       "      <th>59</th>\n",
       "      <th>60</th>\n",
       "      <th>61</th>\n",
       "      <th>62</th>\n",
       "      <th>63</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 64 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    0    1    2     3     4     5    6    7    8    9  ...    54   55   56  \\\n",
       "0  0.0  0.0  5.0  13.0   9.0   1.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0   \n",
       "1  0.0  0.0  0.0  12.0  13.0   5.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0   \n",
       "2  0.0  0.0  0.0   4.0  15.0  12.0  0.0  0.0  0.0  0.0 ...   5.0  0.0  0.0   \n",
       "3  0.0  0.0  7.0  15.0  13.0   1.0  0.0  0.0  0.0  8.0 ...   9.0  0.0  0.0   \n",
       "4  0.0  0.0  0.0   1.0  11.0   0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0   \n",
       "\n",
       "    57   58    59    60    61   62   63  \n",
       "0  0.0  6.0  13.0  10.0   0.0  0.0  0.0  \n",
       "1  0.0  0.0  11.0  16.0  10.0  0.0  0.0  \n",
       "2  0.0  0.0   3.0  11.0  16.0  9.0  0.0  \n",
       "3  0.0  7.0  13.0  13.0   9.0  0.0  0.0  \n",
       "4  0.0  0.0   2.0  16.0   4.0  0.0  0.0  \n",
       "\n",
       "[5 rows x 64 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(digits.data)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['target'] = digits.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>55</th>\n",
       "      <th>56</th>\n",
       "      <th>57</th>\n",
       "      <th>58</th>\n",
       "      <th>59</th>\n",
       "      <th>60</th>\n",
       "      <th>61</th>\n",
       "      <th>62</th>\n",
       "      <th>63</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12 rows × 65 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      0    1     2     3     4     5     6    7    8    9   ...     55   56  \\\n",
       "0   0.0  0.0   5.0  13.0   9.0   1.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "1   0.0  0.0   0.0  12.0  13.0   5.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "2   0.0  0.0   0.0   4.0  15.0  12.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "3   0.0  0.0   7.0  15.0  13.0   1.0   0.0  0.0  0.0  8.0   ...    0.0  0.0   \n",
       "4   0.0  0.0   0.0   1.0  11.0   0.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "5   0.0  0.0  12.0  10.0   0.0   0.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "6   0.0  0.0   0.0  12.0  13.0   0.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "7   0.0  0.0   7.0   8.0  13.0  16.0  15.0  1.0  0.0  0.0   ...    0.0  0.0   \n",
       "8   0.0  0.0   9.0  14.0   8.0   1.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "9   0.0  0.0  11.0  12.0   0.0   0.0   0.0  0.0  0.0  2.0   ...    0.0  0.0   \n",
       "10  0.0  0.0   1.0   9.0  15.0  11.0   0.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "11  0.0  0.0   0.0   0.0  14.0  13.0   1.0  0.0  0.0  0.0   ...    0.0  0.0   \n",
       "\n",
       "     57    58    59    60    61   62   63  target  \n",
       "0   0.0   6.0  13.0  10.0   0.0  0.0  0.0       0  \n",
       "1   0.0   0.0  11.0  16.0  10.0  0.0  0.0       1  \n",
       "2   0.0   0.0   3.0  11.0  16.0  9.0  0.0       2  \n",
       "3   0.0   7.0  13.0  13.0   9.0  0.0  0.0       3  \n",
       "4   0.0   0.0   2.0  16.0   4.0  0.0  0.0       4  \n",
       "5   0.0   9.0  16.0  16.0  10.0  0.0  0.0       5  \n",
       "6   0.0   1.0   9.0  15.0  11.0  3.0  0.0       6  \n",
       "7   0.0  13.0   5.0   0.0   0.0  0.0  0.0       7  \n",
       "8   0.0  11.0  16.0  15.0  11.0  1.0  0.0       8  \n",
       "9   0.0   9.0  12.0  13.0   3.0  0.0  0.0       9  \n",
       "10  0.0   1.0  10.0  13.0   3.0  0.0  0.0       0  \n",
       "11  0.0   0.0   1.0  13.0  16.0  1.0  0.0       1  \n",
       "\n",
       "[12 rows x 65 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[0:12]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Train and the model and prediction**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = df.drop('target',axis='columns')\n",
    "y = df.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "            min_impurity_split=1e-07, min_samples_leaf=1,\n",
       "            min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
       "            n_estimators=20, n_jobs=1, oob_score=False, random_state=None,\n",
       "            verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "model = RandomForestClassifier(n_estimators=20)\n",
    "model.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.96666666666666667"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y_predicted = model.predict(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Confusion Matrix**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[34,  0,  0,  0,  0,  0,  0,  0,  0,  0],\n",
       "       [ 0, 30,  0,  0,  0,  0,  0,  0,  0,  0],\n",
       "       [ 0,  1, 38,  0,  0,  0,  0,  0,  0,  0],\n",
       "       [ 0,  0,  0, 30,  0,  1,  0,  0,  0,  0],\n",
       "       [ 0,  0,  0,  0, 39,  0,  0,  1,  0,  0],\n",
       "       [ 0,  0,  0,  0,  0, 25,  0,  0,  0,  0],\n",
       "       [ 1,  0,  0,  0,  0,  1, 45,  0,  0,  0],\n",
       "       [ 0,  0,  0,  0,  0,  0,  0, 38,  0,  0],\n",
       "       [ 0,  1,  1,  0,  0,  0,  0,  0, 33,  0],\n",
       "       [ 0,  1,  0,  1,  0,  1,  0,  2,  0, 36]])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import confusion_matrix\n",
    "cm = confusion_matrix(y_test, y_predicted)\n",
    "cm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x2406e03e080>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nl0Csk9MAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2406c263710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sn\n",
    "plt.figure(figsize=(10,7))\n",
    "sn.heatmap(cm, annot=True)\n",
    "plt.xlabel('Predicted')\n",
    "plt.ylabel('Truth')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src='iris.png' width=200 height='100'/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Use famous iris flower dataset from sklearn.datasets to predict flower species using random forest classifier.\n",
    "1. Measure prediction score using default n_estimators (10)\n",
    "2. Now fine tune your model by changing number of trees in your classifer and tell me what best score you can get using how many trees"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
